# -*- coding: utf-8 -*-
"""
@Time    : 2021/10/13 17:49
@Author  : Leibuyun
@File    : 4.2 代理迭代.py
"""

"""
当构建一个自定义容器对象，里面有可迭代对象。
如果直接在这个新的容器对象上执行迭代操作，需要自定义__iter__()方法
"""


class Node:
    def __init__(self, value):
        self._value = value
        self._children = []

    def __repr__(self):
        return 'Node({!r})'.format(self._value)

    def add_child(self, node):
        self._children.append(node)

    def __iter__(self):
        return iter(self._children)
